package com.py.credit.service;

import java.util.LinkedHashMap;
import java.util.List;

import com.alibaba.fastjson.JSONArray;
import com.py.credit.entity.SysUser;
import com.py.framework.core.common.Page;

public interface LhjcHongHeimdService {

	/**
	 * 远程调用获取联合奖惩规则名称
	 *
	 * @param cfbm
	 * @param jdToken
	 * @return
	 */
	String getGzNames(String cfbm, String jclb, String jdToken);

	/**
	 * 查询红黑名单
	 *
	 * @param jclb
	 * @param type
	 * @param ztmc
	 * @param bm
	 * @param flag
	 * @param gzNameList
	 * @param page
	 * @return
	 */
	List<LinkedHashMap> selectHongheiMdForPage(String jclb, String type, String tybm, String bm, String flag,
			List<String> gzNameList, Page page);

	/**
	 * 查询红黑名单详情
	 *
	 * @param jclb
	 * @param type
	 * @param recordId
	 * @return
	 */
	LinkedHashMap selectHongheiMdDetail(String jclb, String type, String recordId);

	/**
	 * 事件发起
	 *
	 * @param jclb
	 * @param type
	 * @param recordIdList
	 * @return
	 */
	LinkedHashMap add(String jclb, String type, List<String> recordIdList, String jdToken, String isCheck,
			SysUser user);

	/**
	 * 远程调用判断数据是否在其他事件库
	 *
	 * @param deatil
	 * @param jdToken
	 * @return
	 */
	boolean detailIsExistOtherStorage(String jclb, String type, LinkedHashMap deatil, String jdToken, String isCheck,
			String recordId);

	/**
	 * 法人惩戒事件发起
	 *
	 * @param deatil
	 * @param jdToken
	 * @return
	 */
	boolean addFrLhjcAjbh(String jclb, LinkedHashMap deatil, String jdToken, String isCheck, String recordId,
			String username);

	/**
	 * 自然人惩戒事件发起
	 *
	 * @param jclb
	 * @param deatil
	 * @param jdToken
	 * @return
	 */
	boolean addZrrLhjcAjbh(String jclb, LinkedHashMap deatil, String jdToken, String isCheck, String recordId,
			String username);

	/**
	 * 修改奖惩状态
	 *
	 * @param jcFlag
	 * @param recordId
	 */
	void modifyJcFlag(String jclb, String type, String jcFlag, String recordId);

	/**
	 * 关联处罚自然人事件发起
	 *
	 * @param zrrGlcfArray
	 * @param jdToken
	 * @return
	 */
	LinkedHashMap addGlcfZrr(JSONArray zrrGlcfArray, String jdToken);

	List<LinkedHashMap> selectUploadHongHeimdList(String tableName, List<String> gzNameList);

	void uploadAdd(String tableName, String jclb, String type, String recordId, String username);
}
